home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / gnulib / sun3.md / _builtin_New.s < prev    next >
Text File  |  1989-09-24  |  2KB  |  127 lines

  1.     .data
  2.     .even
  3.     .globl    ___new_handler
  4. ___new_handler:
  5.     .long    _default_new_handler
  6.     .text
  7. LL0:
  8. |#PROC# 022
  9.  
  10.     LF13    =    12
  11.     LS13    =    0
  12.     LFF13    =    12
  13.     LSS13    =    0
  14.     LP13    =    12
  15.     .data
  16.     .text
  17.     .globl    ___builtin_vec_new
  18. ___builtin_vec_new:
  19. |#PROLOGUE# 0
  20.  
  21.     link    a6,#-12
  22. |#PROLOGUE# 1
  23.  
  24.     movl    a6@(12),d0
  25.     addql    #1,d0
  26.     movl    d0,a6@(-8)
  27.     tstl    a6@(8)
  28.     jne    L15
  29.     mulsl    a6@(16),d0
  30.     movl    d0,sp@-
  31.     jbsr    ___builtin_new
  32.     addqw    #4,sp
  33.     movl    d0,a6@(8)
  34. L15:
  35.     movl    a6@(8),a6@(-12)
  36.     clrl    a6@(-4)
  37.     jra    LY00000
  38. LY00001:
  39.     movl    a6@(8),sp@-
  40.     movl    a6@(20),a0
  41.     jsr    a0@
  42.     addqw    #4,sp
  43.     movl    a6@(16),d0
  44.     addl    d0,a6@(8)
  45.     addql    #1,a6@(-4)
  46. LY00000:
  47.     movl    a6@(-4),d0
  48.     cmpl    a6@(-8),d0
  49.     jlt    LY00001
  50.     movl    a6@(-12),d0
  51.     unlk    a6
  52.     rts
  53. |#PROC# 0220
  54.  
  55.     LF21    =    4
  56.     LS21    =    0
  57.     LFF21    =    4
  58.     LSS21    =    0
  59.     LP21    =    8
  60.     .data
  61.     .text
  62.     .globl    ___set_new_handler
  63. ___set_new_handler:
  64. |#PROLOGUE# 0
  65.  
  66.     link    a6,#-4
  67. |#PROLOGUE# 1
  68.  
  69.     movl    ___new_handler,a6@(-4)
  70.     tstl    a6@(8)
  71.     jne    L23
  72.     movl    #_default_new_handler,a6@(8)
  73. L23:
  74.     movl    a6@(8),___new_handler
  75.     movl    a6@(-4),d0
  76.     unlk    a6
  77.     rts
  78. |#PROC# 0220
  79.  
  80.     LF25    =    0
  81.     LS25    =    0
  82.     LFF25    =    0
  83.     LSS25    =    0
  84.     LP25    =    12
  85.     .data
  86.     .text
  87.     .globl    _set_new_handler
  88. _set_new_handler:
  89. |#PROLOGUE# 0
  90.  
  91.     link    a6,#0
  92. |#PROLOGUE# 1
  93.  
  94.     movl    a6@(8),sp@-
  95.     jbsr    ___set_new_handler
  96.     addqw    #4,sp
  97.     unlk    a6
  98.     rts
  99. |#PROC# 0
  100.  
  101.     .data1
  102. L30:
  103.     .ascii    "default_new_handler\72 out of memory... aaaiiiiiieeeeeeeeeeeeee!\12\0"
  104.     LF27    =    0
  105.     LS27    =    0
  106.     LFF27    =    0
  107.     LSS27    =    0
  108.     LP27    =    20
  109.     .data
  110.     .text
  111. _default_new_handler:
  112. |#PROLOGUE# 0
  113.  
  114.     link    a6,#0
  115. |#PROLOGUE# 1
  116.  
  117.     pea    65
  118.     pea    L30
  119.     pea    2
  120.     jbsr    _write
  121.     lea    sp@(12),sp
  122.     pea    -1
  123.     jbsr    __exit
  124.     addqw    #4,sp
  125.     unlk    a6
  126.     rts
  127.